私がプログラミングを好きなのは、探求心と創造性を満たしてくれるからです。
ヤフオクで「Windows 3.1」の PC/AT互換機 バージョン(英語版)に入札中です。
理由は、「はじめて読む486」のサンプルプログラムの中で、Windows 3.1 を使うものが2点あるからです。
前に PC-9801 版の Windows 3.1 を買いましたが、同じサンプルプログラムが、98 と PC/AT互換機の両方で提供されていて、その両方で完璧に動作確認したいんです。
この前(6月2日)グレードが上がりましたが、また上がりましたねぇ…
今度はグレード18です。
カテゴリーマスターのトップスリーの人たちはトップから順に、グレード74、グレード49、グレード47 という感じです。
ヤフオクにて、「Windows 3.1」の PC/AT互換機 バージョン(英語版)落札できましたねぇ。
いつものように誰とも競っていません。
誰かが入札したら私は手を引くというやり方でやっています。
楽しいお一人様オークション。
✌('ω'✌ )三✌('ω')✌三( ✌'ω')✌
ところで、PC/AT互換機とは何かというと、いわゆる皆さんが今お使いのパソコンが PC/AT互換機です。
IBM が最初に発売したパソコンである「IBM PC」(1981年)から始まって、
IBM PC | → | IBM PC XT | → | IBM PC AT | → | PC/AT互換機 |
…と機種が移り変わったそうです。
IBM PC の改良版が「IBM PC XT」であり、その XT は「eXtended Technology」(拡張技術)を意味するそうです。
その後継機種が「IBM PC AT」であり、その AT は「Advanced Technology」(先進技術)を意味するそうです。
そして IBM 以外の各社が製造したその互換機を「PC/AT互換機」と言うそうです。
世界的には「IBM PC互換機」と呼ばれる場合が多いそうで、"IBM" を外して "/AT" を加え、「PC/AT互換機」と呼ぶのは日本だけらしいです。
最初は OS(基本ソフト)として、PC-DOS や MS-DOS がインストールされていましたが、途中から Windows 3.1 になり、Windows 95、いろいろ経て Windows 11 となった、ということです。
最近はパソコンを指して「PC/AT互換機」とは呼ばなくなり、単に "パソコン"、mac を意識して "PC" と呼び分けたりしています。
みなさんの目の前のパソコンのおおもとは IBM だということですね。
この前 Yahooオークションで購入した Windows 3.1 の PC/AT互換機 バージョン(英語版)が届きました。
フロッピーは 30 年前のもののはずですが、状態が良く、中の磁性体もカビていなかったです。
USB フロッピードライブを使って7枚のフロッピーを Windows 11 に読み込み(ドライブとしてマウントし)、フリーウェアを使ってディスクイメージファイルにして、仮想マシンにインストールしました。(下図左)
▼Windows 3.1 の PC/AT互換機 バージョン(英語版) | ▼ NEC PC-9801 版(日本語版) |
以前購入した PC-9801 版と比べると、英語か日本語かの違いの他はほとんど同じですね。
PC-9801 のグラフィックは独自仕様なので、画面の高さは 400 pixel しかありません。
DOS のほうは VGA 対応(?)なので 480 pixel あります。
80 pixel の差は大きい。
先月 6/8 に購入した「IBM PC-DOS J6.1/V」の上から Windows 3.1 をインストールしましたが、ちゃんと起動できました。(購入した PC-DOS は「プリロード版」で残念だったけど買っておいて良かった)
フリーウェアの DOS である、FreeDOS の上にインストールできれば面白いと思いましたが、ダメでした。
インストールはできるけど、起動しようとすると途中でハングアップします。
上図のハングアップの仕方はたぶん ごくまれな例で、よくあるのは「386 エンハンスドモードが…」というエラーメッセージです。
※ Windows 3.1 や Windows 95 は、DOS 上で動く1つのアプリです。
30年前の書籍「はじめて読む486」のサンプルプログラムを現代の環境で動作させようとすると不具合が出てしまいます。
CPU と OS のしくみがよくわかって大変ありがたい本なだけに残念なところです。
最近その不具合をどうにかして直そうといろいろ調査していましたが、不具合の原因を突き止めることができ、ほぼ解決できたと思って喜んでいました。
このページの 2024年6月25日 の記事(その記事へジャンプ)では、
>編集したら、Windows 用の「GUI Turbo Assembler」という「Borland Turbo Assembler」(TASM)由来のアセンブラを使って、編集したソースコードをアセンブルします。
と書いていて、「GUI Turbo Assembler」というアセンブラを使いさえすれば、不具合の一部が直ると説明していました。
ところが、「GUI Turbo Assembler」が内部で使用している TASM.EXE、TASM32.EXE をコマンドラインで直接実行すると、「Turbo Assembler」の開発元である Borland の著作権表示が表示されました。
▼「GUI Turbo Assembler」のインストールフォルダにそれらファイルがありますが…
▼TASM.EXE を DOS へ移動して実行すると、著作権表示が…出る。
「あっ」とか、「えっ」とか思い…オロオロ
つまり、「GUI Turbo Assembler」は「Turbo Assembler」由来とか互換とかそういうものではなく、著作物をその著作者に無断で使用しているソフトウェアなんですね。
「GUI Turbo Assembler」の開発者の個人サイトを見ると、くったくのない笑顔で笑っている…。
たぶん ご自分が何をやっているのか、あまり分かっていないんだと思います。
活動の内容を客観的に見ると、「GUI Turbo Assembler」の開発者は、Borland/エンバカデロの著作権を尊重しているように思えます。しかし、Borland の製品の一部である TASM.EXE を無断で自身のソフトウェアに組み込んで使用しているのは良いことではありません。。
まぁ、それはそれで、私はいいんですけど、それとは別の話で、私の作業としては良くないんです。
『「はじめて読む486」をサンプルプログラムを動かしながら読み進めたい!』という人々のために、その解決方法を違法なソフトウェアを使って案内することはできないのです。
たとえ解決できると言ったって、違法なソフトを使っていてはみんなその解決方法を使うことはできませんからね。
そんなわけで、「GUI TurboAssembler」がダメになってしまったので、OpenWatcom の wasm.exe というアセンブラを使ってサンプルプログラムを正常に動作させる方法を、これから調査しなくてはならなくなりました。
終わったと思ったのに、まだ続くのか… orz
まぁ、アセンブラ関係の知識をためこむこともできるので、ポジティブに進めることにしましょう。